package com.cnunicom.modules.revival.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import org.springframework.format.annotation.DateTimeFormat;

import javax.lang.model.element.NestingKind;
import javax.validation.constraints.NotBlank;

/**
 * 乡村振兴运城市表
 *
 * @author dingziyuan
 * @email dzy998877@163.com
 * @date 2019-07-09 18:03:14
 */
@Data
@TableName("tb_revival_city")
public class RevivalCityEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId
	private Long id;
	/**
	 * 作者id
	 */
	@NotBlank(message = "作者id不能为空")
	private Long createUserId;
	/**
	 * 作者名称
	 */
	@NotBlank(message = "作者名称不能为空")
	private String createUserName;
	/**
	 * 文章题目
	 */
	@NotBlank(message = "文章标题不能为空")
	private String articleTitle;
	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
	private Date createTime;
	/**
	 * 更新时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
	@NotBlank(message = "更新时间不能为空")
	private Date updateTime;

	@TableField(exist = false)
	private String updateStartTime;

	@TableField(exist = false)
	private String updateEndTime;

	/**
	 * 文章具体内容
	 */
	@NotBlank(message = "文章内容不能为空")
	private String articleContent;

	/**
	 * 是否删除 0:未删除 1:已删除
	 */
	@TableLogic
	@Range(min = 0, max = 1,message = "超出边界")
	private Integer isDelete;
	/**
	 * 县
	 */
	private String county;
	/**
	 * 文章类型 0:市规划 (1:运城市乡村战略总体规划 2:运城市乡村振兴战略"5+2"专项规划 3:运城市"一区五带"发展规划 4:运城市"十三五"规划 5:运城市乡村振兴战略实施意见) 1:市领导讲话 2:市工作部署 3:权威发布
	 */
	@Range(min = 0, max = 3,message = "超出边界")
	private Integer articleType;
	/**
	 *
	 */
	private String def0;
	/**
	 *
	 */
	private String def1;
	/**
	 *
	 */
	private String def2;
	/**
	 *
	 */
	private String def3;
	/**
	 *
	 */
	private String def4;

}
